<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>py2rhino.util.point</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="py2rhino-module.html">Package&nbsp;py2rhino</a> ::
        <a href="py2rhino.util-module.html">Package&nbsp;util</a> ::
        Module&nbsp;point
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="py2rhino.util.point-module.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module point</h1><p class="nomargin-top"><span class="codelink"><a href="py2rhino.util.point-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Functions</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Functions"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#add" class="summary-sig-name">add</a>(<span class="summary-sig-arg">point_1</span>,
        <span class="summary-sig-arg">point_2</span>)</span><br />
      Adds a 3-D point or a 3-D vector to a 3-D point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#add">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#points_bounding_box" class="summary-sig-name">points_bounding_box</a>(<span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">view</span>=<span class="summary-sig-default">pythoncom.Empty</span>,
        <span class="summary-sig-arg">world_coords</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Returns either a world axis-aligned or a construction plane 
      axis-aligned bounding box of an array of 3-D point locations.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_bounding_box">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#points_closest_point" class="summary-sig-name">points_closest_point</a>(<span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">point</span>)</span><br />
      Finds the point in an array of 3-D points that is closest to a test 
      point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_closest_point">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#points_transform" class="summary-sig-name">points_transform</a>(<span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">xform</span>)</span><br />
      Transforms an array of 3-D points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_transform">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#compare" class="summary-sig-name">compare</a>(<span class="summary-sig-arg">point_1</span>,
        <span class="summary-sig-arg">point_2</span>,
        <span class="summary-sig-arg">tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Compares two 3-D points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#compare">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#divide" class="summary-sig-name">divide</a>(<span class="summary-sig-arg">point</span>,
        <span class="summary-sig-arg">scale</span>)</span><br />
      Divides a 3-D point by a value</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#divide">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#scale" class="summary-sig-name">scale</a>(<span class="summary-sig-arg">point</span>,
        <span class="summary-sig-arg">scale</span>)</span><br />
      Scales a 3-D point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#scale">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#subtract" class="summary-sig-name">subtract</a>(<span class="summary-sig-arg">point_1</span>,
        <span class="summary-sig-arg">point_2</span>)</span><br />
      Subtracts a 3-D point or a 3-D vector from a 3-D point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#subtract">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#transform" class="summary-sig-name">transform</a>(<span class="summary-sig-arg">point</span>,
        <span class="summary-sig-arg">xform</span>)</span><br />
      Transforms a 3-D point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#transform">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#points_are_coplanar" class="summary-sig-name">points_are_coplanar</a>(<span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">tolerance</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Verifies that an array of 3-D points are co-planar.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_are_coplanar">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#project_point_to_mesh" class="summary-sig-name">project_point_to_mesh</a>(<span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">meshes</span>,
        <span class="summary-sig-arg">direction</span>)</span><br />
      Projects one or more points onto one or more meshes.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#project_point_to_mesh">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#project_point_to_surface" class="summary-sig-name">project_point_to_surface</a>(<span class="summary-sig-arg">points</span>,
        <span class="summary-sig-arg">surfaces</span>,
        <span class="summary-sig-arg">direction</span>)</span><br />
      Projects one or more points onto one or more surfaces or 
      polysurfaces.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#project_point_to_surface">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.point-module.html#pull_points" class="summary-sig-name">pull_points</a>(<span class="summary-sig-arg">object</span>,
        <span class="summary-sig-arg">points</span>)</span><br />
      Pulls an array of points to a surface or mesh object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.point-pysrc.html#pull_points">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Function Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-FunctionDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="add"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add</span>(<span class="sig-arg">point_1</span>,
        <span class="sig-arg">point_2</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#add">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Adds a 3-D point or a 3-D vector to a 3-D point.</p>
  <h1 class="heading">Parameters</h1>
    <p>point_1  (List of float, Required) - The 3-D point to add to. 
    point_2  (List of float, Required) - The 3-D point or a 3-D vector to 
    add.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting 3-D point if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointAdd</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="points_bounding_box"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">points_bounding_box</span>(<span class="sig-arg">points</span>,
        <span class="sig-arg">view</span>=<span class="sig-default">pythoncom.Empty</span>,
        <span class="sig-arg">world_coords</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_bounding_box">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns either a world axis-aligned or a construction plane 
  axis-aligned bounding box of an array of 3-D point locations.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points. view  
    (string, Optional) - The title of the view that contains the 
    construction plane to which the bounding box should be aligned.  If 
    omitted, a world axis-aligned bounding box will be calculated. 
    world_coords  (boolean, Optional) - Whether or not to return the 
    bounding box as world coordinates or construction plane coordinates.  
    The default is to return world coordinates (True).  Note, this option 
    does not apply to world axis-aligned bounding boxes.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list of eight 3-D points that define the bounding box if 
    successful.  Points are returned in counter-clockwise order starting 
    with the bottom rectangle of the box.  See the image below for details.
    None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    PointArrayBoundingBox</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="points_closest_point"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">points_closest_point</span>(<span class="sig-arg">points</span>,
        <span class="sig-arg">point</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_closest_point">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Finds the point in an array of 3-D points that is closest to a test 
  point.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points to test. 
    point  (List of float, Required) - The 3-D test point.</p>
  <h1 class="heading">Returns</h1>
    <p>number - The index of the element in the point list that is closest 
    to the test point if successful. None - If not successful, or on 
    error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    PointArrayClosestPoint</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="points_transform"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">points_transform</span>(<span class="sig-arg">points</span>,
        <span class="sig-arg">xform</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_transform">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Transforms an array of 3-D points.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points to 
    transform. xform  (List of float, Required) - A valid 4x4 
    transformation matrix.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting list of 3-D points if successful. None - On 
    error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    PointArrayTransform</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="compare"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">compare</span>(<span class="sig-arg">point_1</span>,
        <span class="sig-arg">point_2</span>,
        <span class="sig-arg">tolerance</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#compare">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Compares two 3-D points.</p>
  <h1 class="heading">Parameters</h1>
    <p>point_1  (List of float, Required) - The first 3-D point to compare.
    point_2  (List of float, Required) - The second 3-D point to compare. 
    tolerance  (float, Optional) - The tolerance to use for the comparison.
    If omitted, Rhino's internal zero tolerance is used.</p>
  <h1 class="heading">Returns</h1>
    <p>boolean - True or False None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointCompare</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="divide"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">divide</span>(<span class="sig-arg">point</span>,
        <span class="sig-arg">scale</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#divide">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Divides a 3-D point by a value</p>
  <h1 class="heading">Parameters</h1>
    <p>point  (List of float, Required) - The 3-D point to divide. scale  
    (float, Required) - The a non-zero value to divide.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting 3-D point if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointDivide</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="scale"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">scale</span>(<span class="sig-arg">point</span>,
        <span class="sig-arg">scale</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#scale">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Scales a 3-D point.</p>
  <h1 class="heading">Parameters</h1>
    <p>point  (List of float, Required) - The 3-D point to scale. scale  
    (float, Required) - The scale factor to apply.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting 3-D point if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointScale</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="subtract"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">subtract</span>(<span class="sig-arg">point_1</span>,
        <span class="sig-arg">point_2</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#subtract">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Subtracts a 3-D point or a 3-D vector from a 3-D point.</p>
  <h1 class="heading">Parameters</h1>
    <p>point_1  (List of float, Required) - The 3-D point to subtract from.
    point_2  (List of float, Required) - The 3-D point or a 3-D vector to 
    subtract.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting 3-D point if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointSubtract</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="transform"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">transform</span>(<span class="sig-arg">point</span>,
        <span class="sig-arg">xform</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#transform">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Transforms a 3-D point.</p>
  <h1 class="heading">Parameters</h1>
    <p>point  (List of float, Required) - The 3-D point to transform. xform
    (List of float, Required) - A valid 4x4 transformation matrix.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting 3-D point if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointTransform</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="points_are_coplanar"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">points_are_coplanar</span>(<span class="sig-arg">points</span>,
        <span class="sig-arg">tolerance</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#points_are_coplanar">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Verifies that an array of 3-D points are co-planar.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points. tolerance
    (float, Optional) - A tolerance to use when verifying. The default is 
    to use Rhino's internal zero tolerance (1.0e-12).</p>
  <h1 class="heading">Returns</h1>
    <p>boolean - True or False indicating either coplanar or not coplanar, 
    respectively, if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PointsAreCoplanar</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="project_point_to_mesh"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">project_point_to_mesh</span>(<span class="sig-arg">points</span>,
        <span class="sig-arg">meshes</span>,
        <span class="sig-arg">direction</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#project_point_to_mesh">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Projects one or more points onto one or more meshes.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points to 
    project. meshes  (list of mesh object, Required) - The identifiers of 
    the mesh objects to project onto. direction  (List of float, Required) 
    - The direction (3-D vector) to project the points.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list of 3-D points if successful. None - If not successful,
    or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: ProjectPointToMesh</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="project_point_to_surface"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">project_point_to_surface</span>(<span class="sig-arg">points</span>,
        <span class="sig-arg">surfaces</span>,
        <span class="sig-arg">direction</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#project_point_to_surface">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Projects one or more points onto one or more surfaces or 
  polysurfaces.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points to 
    project. surfaces  (list of SurfaceRoot, Required) - The identifiers of
    the surface or polysurface objects to project onto. direction  (List of
    float, Required) - The direction (3-D vector) to project the 
    points.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list of 3-D points if successful. None - If not successful,
    or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    ProjectPointToSurface</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="pull_points"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">pull_points</span>(<span class="sig-arg">object</span>,
        <span class="sig-arg">points</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.point-pysrc.html#pull_points">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Pulls an array of points to a surface or mesh object. For more 
  information, see the Rhino help file for information on the Pull 
  command.</p>
  <h1 class="heading">Parameters</h1>
    <p>object  (object, Required) - The identifier of the surface or mesh 
    object that pulls. points  (List of float, Required) - An list of 3-D 
    points to pull.</p>
  <h1 class="heading">Returns</h1>
    <p>list - A list of 3-D points if successful. None - If not successful,
    or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PullPoints</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Wed Sep 02 08:00:03 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
